(double-prefix-only): New variable.
authorRichard M. Stallman <rms@gnu.org>
Wed, 22 Jun 1994 18:03:28 +0000 (18:03 +0000)
committerRichard M. Stallman <rms@gnu.org>
Wed, 22 Jun 1994 18:03:28 +0000 (18:03 +0000)
(double-translate-key): Use it.

lisp/double.el

index 4de4b8a1dd854b2c1e0de4ddaca9dabe0fa6ab60..cd27f31fbb809c3bf1fdc7f73dccab45153e99da 100644 (file)
 
 ;;; ChangeLog: 
 
+;; * 1994-06-21         Per Abrahamsen
+;;      Added `double-prefix-only'.
+;; * 1994-02-28         Per Abrahamsen
+;;      Use 127 instead of 'delete to delete a character.
 ;; * 1994-02-03                Per Abrahamsen
 ;;     Created.
 
@@ -71,6 +75,11 @@ Each entry is a list with three elements:
 2. The string to be inserted when the key is pressed once.
 3. The string to be inserted when the key is pressed twice.")
 
+(defvar double-prefix-only t
+  "*Non-nil means that double mode mapping only works for prefix keys.
+That is, for any key `X' in `double-map',  `X' alone will be mapped
+but not `C-u X' or `ESC X' since the X is not the prefix key.")
+
 ;;; Read Event
 
 (defvar double-last-event nil)
@@ -99,6 +108,10 @@ Each entry is a list with three elements:
     (cond (unread-command-events
           ;; Artificial event, ignore it.
           (vector key))
+         ((and double-prefix-only
+               (> (length (this-command-keys)) 1))
+          ;; This is not a prefix key, ignore it.
+          (vector key))
          ((eq key 'magic-start)
           ;; End of generated event.  See if he will repeat it...
           (let ((new (double-read-event prompt))